package com.itcast.demo;

import com.itcast.demo.service.OrderService;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
//@EnableAspectJAutoProxy(proxyTargetClass = false)
public class SpringDemo {

    /**
     * Spring boot中为什么默认强制用cglib
     * cglib生成的是被代理类的子类，jdk生成的是实现相同接口的类
     * final修饰的类不能用cglib进行代理
     * cglib代理是基于类的动态代理，jdk代理是基于接口的动态代理。springboot默认是基于类的代理，官方认为更不容易出现转换错误。
     * @param args
     */
    public static void main(String[] args){
        AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringDemo.class);
        OrderService oderService = applicationContext.getBean( OrderService.class);
        oderService.test();
    }
}
